﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Bukstor.Biz;
using System.Drawing;

namespace Bukstor.UI.Miembros
{
    public partial class ModificarDatosPersonales : System.Web.UI.Page
    {
        BukstorBDEntities Entidades;
        Cliente cliente;

        protected void Page_Load(object sender, EventArgs e)
        {
            Entidades = new BukstorBDEntities();
            int idCliente = (int)Session["cliente"];
            cliente = Entidades.Clientes.First(i => i.id == idCliente);
            if (!Page.IsPostBack)
            {
                cargarDatos();
            }
        }

        private void cargarDatos()
        {
            txtApellido.Text = cliente.apellido;
            txtMail.Text = cliente.e_mail;
            txtNombre.Text = cliente.nombre;
        }

        protected void cvClaveActual_ServerValidate(object source, ServerValidateEventArgs args)
        {
            if (args.Value == "" && txtClaveNueva.Text == "" && txtClaveRepita.Text == "")
            {
                args.IsValid = true;
            }
            else if (args.Value == cliente.password)
            {
                args.IsValid = true;
            }
            else
            {
                args.IsValid = false;
            }
        }

        protected void cvClaveNueva_ServerValidate(object source, ServerValidateEventArgs args)
        {
            if (txtClaveActual.Text == "" && txtClaveNueva.Text == "" && txtClaveRepita.Text == "")
            {
                args.IsValid = true;
            }
            else if (args.Value != "" && txtClaveActual.Text != "" && args.Value != txtClaveActual.Text)
            {
                args.IsValid = true;
            }
            else
            {
                args.IsValid = false;
            }
        }

        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            lblMensaje.Text = "";
            Page.Validate();
            if (!Page.IsValid)
            {
                return;
            }
            
            cliente.apellido = txtApellido.Text;
            cliente.e_mail = txtMail.Text;
            cliente.nombre = txtNombre.Text;
            if (txtClaveActual.Text != "")
            {
                if (txtClaveNueva.Text != "")
                {
                    if (txtClaveRepita.Text!="")
                    {
                        cliente.password = txtClaveNueva.Text;
                    }
                    else
                    {
                        lblMensaje.ForeColor = Color.Red;
                        lblMensaje.Text = "Confirme ingresando dos veces la clave";
                        return;
                    }
                }
                else
                {
                    lblMensaje.ForeColor = Color.Red;
                    lblMensaje.Text = "No puede dejar su clave en blanco";
                    return;
                }
            }
            Entidades.SaveChanges();
            lblMensaje.ForeColor = Color.Green;
            lblMensaje.Text = "Sus cambios fueron guardados correctamente";
        }
    }
}